package com.qf.dao;

import com.qf.pojo.User;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

public interface UserDao {
    List<User> selectUserList() throws Exception;
//    输入映射为map时
    User selectUser(Map<String,Object> map) throws Exception;
//    输出映射为map，单条记录查询
    Map selectUserById(Integer id)throws Exception;
//    输出映射为map，多条记录查询，此时需要在dao接口方法上加上MapKey注解，用于指定记录唯一标示
    @MapKey("id")
    Map selectUserList2()throws Exception;
//    动态sql之if标签，实现条件判断
    List<User> selectUserListByParmeters(User user) throws Exception;
//    根据id删除一组list集合数据,使用id in(id1,id2...)
    void deleteUsersByIds1(List<Integer> ids) throws Exception;
//    根据id删除一组数组数据,使用id in(id1,id2...)的方式
    void deleteUsersByIds2(Integer[] ids) throws Exception;
//    根据id删除一组list集合数据,使用id=id1 or id=id2的方式
    void deleteUsersByIds3(List<Integer> ids) throws Exception;
}
